﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using CMWVS.Core.Commands;
using CMWVS.Core.Mono;

namespace CMWVS.Core
{
    public class MainViewModel
    {

        #region Constructor

        public MainViewModel()
        {
            this.m_Application = new Application();
            this.m_Application.RegisterDefaults();

            this.CreateCommands();
        }

        #endregion

        private Application m_Application;

        private void CreateCommands()
        {
            MonoConfig monoconfig = m_Application.Resolver.Get<Mono.MonoConfig>();
            this.Compile = new CompileCommand(monoconfig);
            this.Rebuild = new RebuildCommand(monoconfig);
            this.Clean = new CleanCommand(monoconfig);
        }

        public CompileCommand Compile
        {
            get;
            private set;
        }

        public RebuildCommand Rebuild
        {
            get;
            private set;
        }

        public CleanCommand Clean
        {
            get;
            private set;
        }

    }

}
